.template-extractor {
  padding: 24px;
  background: #fff;
  min-height: 600px;
}

.extraction-steps {
  margin-bottom: 32px;
}

.step-content {
  min-height: 400px;
  position: relative;
}

.step-actions {
  position: sticky;
  bottom: 0;
  background: #fff;
  padding: 16px 0;
  border-top: 1px solid #f0f0f0;
  margin-top: 24px;
  text-align: right;
}

.analysis-result-card {
  margin-bottom: 16px;
}

.variable-tag {
  background: #e6f7ff;
  border: 1px solid #91d5ff;
  color: #1890ff;
  padding: 2px 8px;
  border-radius: 4px;
  font-family: monospace;
}

.template-preview {
  background: #f5f5f5;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  padding: 16px;
  font-family: monospace;
  white-space: pre-wrap;
  max-height: 400px;
  overflow-y: auto;
}

.extraction-option-item {
  margin-bottom: 8px;
}

.sample-article-card {
  margin-bottom: 16px;
}

.sample-article-card .ant-card-head {
  background: #fafafa;
}

.add-sample-btn {
  margin-top: 16px;
}